﻿using System;
using System.Runtime.CompilerServices;
using System.Collections.Generic;

namespace Quicklight.Mobile.Cordova.File {

   [IgnoreNamespace]
   public class DirectoryEntry : Entry {

      public override void GetMetadata(MetadataSuccessCallback successCallback, FileErrorCallback errorCallback) {
      }

      public override void SetMetadata(VoidCallback successCallback, VoidCallback errorCallback, Dictionary<string, string> metadata) {
      }

      [ScriptName("moveTo")]
      public void MoveTo(DirectoryEntry parent, string newName, DirectoryEntrySuccessCallback successCallback, FileErrorCallback errorCallback) {
      }

      [ScriptName("copyTo")]
      public void CopyTo(DirectoryEntry parent, string newName, DirectoryEntrySuccessCallback successCallback, FileErrorCallback errorCallback) {
      }

      public override string ToURL() {
         return "";
      }

      /// <todo>Confirm type of successCallback. Documention is inconsistent</todo>
      public override void Remove(VoidCallback successCallback, FileErrorCallback errorCallback) {
      }

      public override void GetParent(DirectoryEntrySuccessCallback successCallback, FileErrorCallback errorCallback) {
      }

      [ScriptName("createReader")]
      public DirectoryReader CreateReader() {
         return null;
      }

      [ScriptName("getDirectory")]
      public void GetDirectory(string path, Flags options, DirectoryEntrySuccessCallback successCallback, FileErrorCallback errorCallback) {
      }

      [ScriptName("getFile")]
      public void GetFile(string path, Flags options, FileEntrySuccessCallback successCallback, FileErrorCallback errorCallback) {
      }

      /// <todo>Confirm type of successCallback. Documention is inconsistent</todo>
      [ScriptName("removeRecursively")]
      public void RemoveRecursively(VoidCallback successCallback, FileErrorCallback errorCallback) {
      }
   }

}
